//===============================================================================
// Microsoft patterns & practices
// Web Client Software Factory
//-------------------------------------------------------------------------------
// Copyright (C) Microsoft Corporation.  All rights reserved.
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY
// OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT
// LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
// FITNESS FOR A PARTICULAR PURPOSE.
//-------------------------------------------------------------------------------
// The example companies, organizations, products, domain names,
// e-mail addresses, logos, people, places, and events depicted
// herein are fictitious.  No association with any real company,
// organization, product, domain name, email address, logo, person,
// places, or events is intended or should be inferred.
//===============================================================================
using System;
using System.Configuration;

namespace WCSFContrib.PageFlow.Configuration
{
	/// <summary>
	/// Configuration section class that describes the 
	/// <see cref="IPageFlowCorrelationTokenProvider">IPageFlowCorrelationTokenProvider</see> 
	/// provider.
	/// </summary>
	[Serializable]
	public class PageFlowInstanceCorrelationTokenProviderSection : ConfigurationSection
	{
		/// <overrides>
		/// Creates a <see cref="PageFlowInstanceCorrelationTokenProviderSection">PageFlowInstanceCorrelationTokenProviderSection</see>.
		/// </overrides>
		/// <summary>
		/// Creates a <see cref="PageFlowInstanceCorrelationTokenProviderSection">PageFlowInstanceCorrelationTokenProviderSection</see>.
		/// </summary>
        public PageFlowInstanceCorrelationTokenProviderSection()
		{
		}

		/// <summary>
		/// Creates a <see cref="PageFlowInstanceCorrelationTokenProviderSection">PageFlowInstanceCorrelationTokenProviderSection</see>
		/// using the specified <see cref="Type">Type</see>.
		/// </summary>
		/// <param name="type">Type to set as the provider.</param>
        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
        public PageFlowInstanceCorrelationTokenProviderSection(string type)
		{
			ProviderType = type;
		}

		/// <summary>
		/// Gets or sets the <see cref="Type">Type</see> of the provider.
		/// </summary>
		[ConfigurationProperty("providerType")]
		public string ProviderType
		{
			get { return (string)base["providerType"]; }
			set { base["providerType"] = value; }
		}
	}
}
